{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Python绘制箱形图分析北京天气数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 箱形图\n",
    "箱形图（Box-plot）又称为盒须图、盒式图或箱线图，是一种用作显示一组数据***分散情况***的统计图。\n",
    "\n",
    "#### 箱形图的图形组成\n",
    "对于一组数字，先将其从小到达排列，然后计算图中元素：\n",
    "<img src=\"./datas/other_files/ant_boxplot.png\" style=\"width:600px; margin: 0 0;\"/>\n",
    "\n",
    "#### 箱形图的价值\n",
    "1. 直观明了地识别数据中的异常值\n",
    "2. 利用箱线图判断数据的偏态和尾重\n",
    "3. 利用箱线图比较几批数据的形状"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "sns.set(style=\"whitegrid\")\n",
    "sns.set(rc={'figure.figsize':(11.7,8.27)})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "实例目标：对比北京2019年天气数据中，4个季度的温度分布对比"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 读取北京天气数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv(\"./datas/beijing_tianqi/beijing_tianqi_2019.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ymd</th>\n",
       "      <th>bWendu</th>\n",
       "      <th>yWendu</th>\n",
       "      <th>tianqi</th>\n",
       "      <th>fengxiang</th>\n",
       "      <th>fengli</th>\n",
       "      <th>aqi</th>\n",
       "      <th>aqiInfo</th>\n",
       "      <th>aqiLevel</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019-01-01</td>\n",
       "      <td>1℃</td>\n",
       "      <td>-10℃</td>\n",
       "      <td>晴~多云</td>\n",
       "      <td>西北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>56</td>\n",
       "      <td>良</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2019-01-02</td>\n",
       "      <td>1℃</td>\n",
       "      <td>-9℃</td>\n",
       "      <td>多云</td>\n",
       "      <td>东北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>60</td>\n",
       "      <td>良</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2019-01-03</td>\n",
       "      <td>2℃</td>\n",
       "      <td>-7℃</td>\n",
       "      <td>霾</td>\n",
       "      <td>东北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>165</td>\n",
       "      <td>中度污染</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          ymd bWendu yWendu tianqi fengxiang fengli  aqi aqiInfo  aqiLevel\n",
       "0  2019-01-01     1℃   -10℃   晴~多云       西北风     1级   56       良         2\n",
       "1  2019-01-02     1℃    -9℃     多云       东北风     1级   60       良         2\n",
       "2  2019-01-03     2℃    -7℃      霾       东北风     1级  165    中度污染         4"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 把温度列从字符串变成数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把最高温度列，从2℃的形式，变成数字\n",
    "df[\"bWendu\"] = df[\"bWendu\"].str.replace(\"℃\", \"\").astype(float)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 365 entries, 0 to 364\n",
      "Data columns (total 9 columns):\n",
      " #   Column     Non-Null Count  Dtype  \n",
      "---  ------     --------------  -----  \n",
      " 0   ymd        365 non-null    object \n",
      " 1   bWendu     365 non-null    float64\n",
      " 2   yWendu     365 non-null    object \n",
      " 3   tianqi     365 non-null    object \n",
      " 4   fengxiang  365 non-null    object \n",
      " 5   fengli     365 non-null    object \n",
      " 6   aqi        365 non-null    int64  \n",
      " 7   aqiInfo    365 non-null    object \n",
      " 8   aqiLevel   365 non-null    int64  \n",
      "dtypes: float64(1), int64(2), object(6)\n",
      "memory usage: 25.8+ KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 根据天日期添加季度数字列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取季度数字\n",
    "df[\"quarter\"] = pd.to_datetime(df[\"ymd\"]).dt.quarter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ymd</th>\n",
       "      <th>bWendu</th>\n",
       "      <th>yWendu</th>\n",
       "      <th>tianqi</th>\n",
       "      <th>fengxiang</th>\n",
       "      <th>fengli</th>\n",
       "      <th>aqi</th>\n",
       "      <th>aqiInfo</th>\n",
       "      <th>aqiLevel</th>\n",
       "      <th>quarter</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019-01-01</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-10℃</td>\n",
       "      <td>晴~多云</td>\n",
       "      <td>西北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>56</td>\n",
       "      <td>良</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2019-01-02</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-9℃</td>\n",
       "      <td>多云</td>\n",
       "      <td>东北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>60</td>\n",
       "      <td>良</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2019-01-03</td>\n",
       "      <td>2.0</td>\n",
       "      <td>-7℃</td>\n",
       "      <td>霾</td>\n",
       "      <td>东北风</td>\n",
       "      <td>1级</td>\n",
       "      <td>165</td>\n",
       "      <td>中度污染</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2019-01-04</td>\n",
       "      <td>2.0</td>\n",
       "      <td>-7℃</td>\n",
       "      <td>晴</td>\n",
       "      <td>西北风</td>\n",
       "      <td>2级</td>\n",
       "      <td>50</td>\n",
       "      <td>优</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2019-01-05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8℃</td>\n",
       "      <td>多云</td>\n",
       "      <td>东北风</td>\n",
       "      <td>2级</td>\n",
       "      <td>29</td>\n",
       "      <td>优</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2019-01-06</td>\n",
       "      <td>3.0</td>\n",
       "      <td>-7℃</td>\n",
       "      <td>多云</td>\n",
       "      <td>东南风</td>\n",
       "      <td>1级</td>\n",
       "      <td>84</td>\n",
       "      <td>良</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          ymd  bWendu yWendu tianqi fengxiang fengli  aqi aqiInfo  aqiLevel  \\\n",
       "0  2019-01-01     1.0   -10℃   晴~多云       西北风     1级   56       良         2   \n",
       "1  2019-01-02     1.0    -9℃     多云       东北风     1级   60       良         2   \n",
       "2  2019-01-03     2.0    -7℃      霾       东北风     1级  165    中度污染         4   \n",
       "3  2019-01-04     2.0    -7℃      晴       西北风     2级   50       优         1   \n",
       "4  2019-01-05     0.0    -8℃     多云       东北风     2级   29       优         1   \n",
       "5  2019-01-06     3.0    -7℃     多云       东南风     1级   84       良         2   \n",
       "\n",
       "   quarter  \n",
       "0        1  \n",
       "1        1  \n",
       "2        1  \n",
       "3        1  \n",
       "4        1  \n",
       "5        1  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. 调用seaborn绘制boxplot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAH0CAYAAAA0bkXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de5BW9WH/8c/eQClmUbIbL0GconWSNsZpLUogoCYidV01l2mQRtqmcdRaHDWNMhRJJ44pOGYYrZO2mUYanaQZM1UDVqmVGBguSmpaHZ1ojJEFFGEBd5EQbrv7+8NkK79GggnPc5Dv6/UXzy7s+ezOo/vmcPY5DQMDAwMBAIACNFY9AAAA6kX8AgBQDPELAEAxxC8AAMUQvwAAFEP8AgBQjJrH77x58zJz5swkyQ9/+MN8/OMfz/nnn5+/+Zu/yd69e2t9eAAAGFTT+F21alXuv//+wcef//znM2fOnPzHf/xHBgYGcu+999by8AAAsI+axW9PT0/mz5+fK6+8Mkny8ssvZ+fOnTn99NOTJB//+MezePHiWh0eAAD+j5rF75w5c3LdddflXe96V5Jk06ZNaWtrG3x/W1tbNm7cWKvDAwDA/1GT+P32t7+d4447LuPGjRt8W39/fxoaGgYfDwwM7PMYAABqrbkWH/Shhx5Kd3d3Lr744vT29mbHjh1paGhId3f34O/ZvHlz2tvb3/bH3rJle/r7Bw7mXAAADhONjQ0ZOXL4W76/JvG7YMGCwV/fd999Wb16df7u7/4uF154YZ588sn8wR/8Qb7zne9k4sSJtTg8AAD8UjWJ37dy2223Zfbs2dm+fXt+93d/N9OnT6/n4QEAKFzDwMDAO+oaApc9AADwVn7VZQ/u8AYAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDGaqx4AQLlWrFiW5cuXVrqht7cnSdLaOqLSHRMmTMr48RMr3QAlcOYXgKL19vamt7e36hlAnTQMDAwMVD3i7diyZXv6+99RkwE4hM2bd3OS5MYbb6p4CXAwNDY2ZOTI4W/9/jpuAQCASolfAACKIX4BACiG+AUAoBjiFwCAYohfAACKIX4BACiGO7xBgdxV63+5qxZAWZz5BSrhrloAVMGZXyjQ+PETKz/b6a5aAFTBmV8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGOIXAIBiiF8AAIohfgEAKIb4BQCgGM1VDwCgOt/85t1Zt66r6hmVWrv2jc9/3rybK15SrVGjRmfatOlVz4CaE78ABVu3ris/+snzaWodUvWUyvQ39SVJXtzyUsVLqtPXu7vqCVA34hegcE2tQ9I68fiqZ1Ch3mWvVD0B6sY1vwAAFEP8AgBQDPELAEAxxC8AAMUQvwAAFEP8AgBQDC91BhVwYwE3FvgFNxYAqC/xCxVYt64ra378XI4dXu5/gsPSnyTZ+eqPK15SnVe37616AkBxyv3OCxU7dnhz/vy0Y6qeQYUWPL216gkAxXHNLwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAMr/MLULDe3p7s7dmV3mWvVD2FCu3t2ZXe5p6qZ0BdOPMLAEAxnPkFKFhr64hs3vtaWiceX/UUKtS77JW0to6oegbUhTO/AAAUQ/wCAFAM8QsAQDFqGr+33357LrjggnR0dGTBggVJkpUrV6azszOTJ0/O/Pnza3l4AADYR81+4G316tV5/PHHs3DhwuzduzcXXHBBxo0bl1mzZuWee+7JcccdlyuuuCJLly7NpEmTajUDAAAG1ezM79ixY3P33Xenubk5W7ZsSV9fX7Zt25bRo0dn1KhRaW5uTmdnZxYvXlyrCQAAsI+avtRZS0tL7rjjjtx1112ZMmVKNm3alLa2tsH3t7e3Z+PGjbWcAABwQFasWJbly5dWdvze3jduNFL1y85NmDAp48dPrHRDLdX8dX6vueaaXH755bnyyiuzZs2aNDQ0DL5vYGBgn8cHYuTI4Qd7ItRdS0tTdlY9gkNCS0tT2tqOqvT4kFT/XDwUvOtdR1b638S2bb1Jkne/e2RlG5I3vg6H83OhZvH74osvZvfu3Xnf+96XI488MpMnT87ixYvT1PS/T6ru7u60t7e/rY+7Zcv29PcPHOy5UFd79vRVPYFDxJ49fenufr3S40NS/XPxUPCBD/xhPvCBP6zs+PPm3Zwkuf76WZVt+IV38nOhsbFhvydLa3bN7/r16zN79uzs3r07u3fvzpIlSzJ16tS89NJL6erqSl9fXx588MFMnHj4nlYHAODQUrMzv5MmTcrTTz+dSy65JE1NTZk8eXI6OjpyzDHHZMaMGdm1a1cmTZqUKVOm1GoCAADso6bX/M6YMSMzZszY523jxo3LwoULa3lYAAD4pdzhDQCAYohfAACKIX4BACiG+AUAoBg1v8kFAIe2vt7d6V32StUzKtO/843XOm48otwbfvT17k6qva8C1I34BSjYqFGjq55QubVru5IkJ44s+Gsx0nOBcohfgIJNmza96gmV+8VdtW688aaKlwD14JpfAACKIX4BACiG+AUAoBjiFwCAYohfAACKIX4BACiGlzqDCvT29uS17Xuz4OmtVU+hQq9u35uje3uqngFQFGd+AQAohjO/UIHW1hEZ+rPN+fPTjql6ChVa8PTWHNE6ouoZAEVx5hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAiiF+AQAohvgFAKAY4hcAgGKIXwAAitFc9YCSrFixLMuXL610Q29vT5KktXVEZRsmTJiU8eMnVnZ8AKBczvwWpre3N729vVXPAACohDO/dTR+/MTKz3jOm3dzkuTGG2+qdAcAQBWc+QUAoBjiFwCAYohfAACKIX4BACiG+AUAoBjiFwCAYnipMwAqcyjc/Gft2q4k//tSkFVxAyCoD/ELQNFaW1urngDUkfgFoDKHws1/gLK45hcAgGKIXwAAiuGyB6jIq9v3ZsHTW6ueUZntu/uTJMOHlPt38Fe3781JVY8AKIz4hQqMGjW66gmV2/Tzn7B/97Hlfi1OiucCQL2JX6jAtGnTq55QuV+8rNSNN95U8RIASlLuvzcCAFAc8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDHELwAAxahp/N55553p6OhIR0dHbr311iTJypUr09nZmcmTJ2f+/Pm1PDwAAOyjZvG7cuXKLF++PPfff38eeOCBPPvss3nwwQcza9asfOUrX8lDDz2UZ555JkuXLq3VBAAA2EfN4retrS0zZ87MkCFD0tLSkjFjxmTNmjUZPXp0Ro0alebm5nR2dmbx4sW1mgAAAPuoWfyecsopOf3005Mka9asycMPP5yGhoa0tbUN/p729vZs3LixVhMAAGAfzbU+wAsvvJArrrgiN9xwQ5qamrJmzZrB9w0MDKShoeFtfbyRI4cf5IVlaWlpSpK0tR1V8RJK57kIsC//X6yPmsbvk08+mWuuuSazZs1KR0dHVq9ene7u7sH3d3d3p729/W19zC1btqe/f+BgTy3Gnj19SZLu7tcrXkLpPBcB9uX/iwdHY2PDfk+W1uyyhw0bNuTqq6/Obbfdlo6OjiTJBz/4wbz00kvp6upKX19fHnzwwUycOLFWEwAAYB81O/P7ta99Lbt27crcuXMH3zZ16tTMnTs3M2bMyK5duzJp0qRMmTKlVhMAAGAfNYvf2bNnZ/bs2b/0fQsXLqzVYQEA4C25wxsAAMUQvwAAFEP8AgBQDPELAEAxxC8AAMUQvwAAFEP8AgBQDPELAEAxxC8AAMU4oDu8dXZ2/tK3L1q06KCOAQCAWjqg+L3pppsGf71nz578+7//e0aNGlWzUQAAUAsHFL9jx47d5/GHPvShTJ06NVdddVVNRgEAQC38Wtf8vvbaa9m0adPB3gIAADX1a13z+8orr+RTn/pUTQYBAECtvO1rfhsaGnLMMcdkzJgxNRsFAAC1sN/4feWVV5Ik733ve3/p+44//vjarAIAgBrYb/x2dHSkoaEhAwMD2blzZ37rt34rTU1N2bZtW0aOHJnly5fXaycAAPzG9hu///3f/50kmTNnTs4888x0dHQkSZYsWZJHH3209usAAOAgOqBXe3jmmWcGwzdJPvKRj+S5556r2SgAAKiFA4rf/v7+PPHEE4OPly1bloaGhpqNAgCAWjigV3uYPXt2rr322rS0tKS/vz9Jcuedd9Z0GAAAHGwHFL9nnHFGHnvssfzoRz9Kkpx66qlpbj6gPwoAAIeMAyrYzZs351vf+lZ6enr2efvs2bNrMgoAAGrhgOL385//fI444oi8//3vd60vAHDQffObd2fduq6qZ1Rq7do3Pv95826ueEn1Ro0anWnTptfkYx9Q/L766qt5+OGHazIAAGDduq689KPn8u6mpqqnVGboz3+u6vUXX6h4SbU29/XV9OMfUPwef/zx2bFjR4YNG1bTMQBAud7d1JSLjxpR9Qwq9p3Xe371b/oNHFD8tre355JLLsnYsWNzxBFHDL7dNb8AALyTHFD8nnDCCTnhhBNqvQUAAGrqgOL3r/7qr7Jz5850dXXllFNOya5du3LkkUfWehsAABxUB3SHt6eeeiof/ehHc8UVV2TTpk05++yz84Mf/KDW2wAA4KA6oPidN29e/uVf/iUjRozIsccem1tvvTW33HJLrbcBAMBBdUDxu3Pnzpx88smDjydNmpS+Gr8MBQAAHGwHFL/Nzc3p7e0dvMHFT37yk5qOAgCAWjigH3i76qqr8ulPfzqbN2/O9ddfnxUrVuSLX/xirbcBAMBBdUDxe8455+S3f/u3s2LFivT39+fqq6/OmDFjar0NAAAOqv3G7/XXX59Jkyblwx/+cEaPHp3Ro0fXaxcAABx0+73m9/3vf38WLVqU8847L1OnTs0//MM/5Ic//GG9tgEAwEG13zO/n/3sZ/PZz342e/bsyVNPPZXHH388X/rSl7Jhw4aMGzcuN998c712AgDAb+yArvltaWnJySefnE2bNqWnpydbt27N888/X+ttAABwUO03ftesWZPvfve7WbJkSX784x/nrLPOytlnn52rrroqI0eOrNdGAAA4KPYbv1OmTMm5556bGTNm5Iwzzkhz8wGdKAYAgEPSfn/g7fLLL8+6devyt3/7t/nyl7+cJ554wp3dAAB4x9rvqdzPfe5z+dznPpeXX345jz32WL761a/m+uuvz9ixY3POOefkoosuqtdO4CBasWJZli9fWumGtWu7kiTz5lX7g7MTJkzK+PETK90AQP0c0HUMJ5xwQj796U+ns7Mzy5Ytyz//8z9n8eLF4hf4tbW2tlY9AYAC7Td+t23blu9///tZvXp1nnjiicGXOJs+fXomTnSmBN6pxo+f6GwnAEXab/yOGzcup556aj784Q/npptuyqmnnpqWlpYMHTq0XvsAAOCg2W/8fu9730tbW1vWrFmTG264Ic8++2waGhry+7//+5k3b16OO+64eu0EAIDf2H5f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WRSop6cn8+fPz5VXXln1lMNec9UDqJ9bbrml6gmQU045ZfDXa9asycMPP5x//dd/rXARpWtpackdd9yRu+66K1OmTMl73vOeqidRoDlz5uS6667Lhg0bqp5y2HPmF6jECy+8kM985jO54YYbctJJJ1U9h8Jdc801WbVqVTZs2JB777236jkU5tvf/naOO+64jBs3ruopRXDmF6i7J598Mtdcc01mzZqVjo6OqudQsBdffDG7d+/O+973vhx55JGZPHlynn/++apnUZiHHnoo3d3dufjii9Pb25sdO3bkS1/6UmbNmlX1tMOS+AXqasOGDbn66qszf/58Zzmo3Pr163PHHXcMXnqzZMmSfOITn6h4FaV586uM3HfffVm9erXwrSHxC9TV1772tezatStz584dfNvUqVNz6aWXVriKUk2aNClPP/10LrnkkjQ1NWXy5Mn+NQIOcw0DAwMDVY8AAIB68ANvAAAUQ/wCAFAM8QsAQDHELwAAxRC/AAAUQ/wCHIY+85nPZOvWrVXPADjkiF+Aw9CKFSuqngBwSHKTC4CK3H777Vm0aFGOPvronHHGGXnmmWdywgkn5JRTTslf/MVfJElmzpw5+Pixxx7LP/3TP2X37t3ZunVrLrnkklx77bV54okncsstt2TYsGH56U9/mt/7vd9Lkvzpn/5pvvrVr6axsTFf/OIXs2HDhuzZsycdHR258sors379+vzJn/xJxowZk5dffjn33HNP2tvbq/ySANSc+AWowCOPPJJHHnkkDzzwQIYOHZq//Mu/3O/vHxgYyF133ZW5c+fmpJNOysaNG3POOedk+vTpSZIXXnghjz76aE444YQkb9wi9etf/3qOOeaYTJ8+PX/2Z3+Wc889N7t27crll1+eE088MaeddlpeffXVfPnLX84ZZ5xR888Z4FAgfgEq8Pjjj+e8887L8OHDkySf+tSn8vWvf/0tf39DQ0P+8R//Md/73vfy4IMP5sUXX8zAwEB+9rOfJUmOO+64wfB9sx07duT73/9+ent7c/vttw++7bnnnstpp52W5ubmnH766TX4DAEOTeIXoAJDhw7Nm+8u39LSkuSNyH3z2/fs2ZPkjWD92Mc+lo9+9KM544wz8olPfCKPPvro4O8dNmzYLz1Of39/BgYG8q1vfStHHnlkkmTr1q0ZOnRoXnvttQwZMiTNzb4VAOXwA28AFTj77LOzePHi9Pb2pr+/Pw888ECS5Oijj84zzzyTJNm4cWNWr16dJOnq6sr27dtz7bXX5txzz80TTzyR3bt3p7+//5d+/KampuzduzfDhw/P6aefngULFiRJtm3blksvvTRLliypw2cJcOjx132ACpx55pmZPn16pk2blqFDhw5esnDZZZflr//6r3P++efnve99b84666wkyamnnpqzzz47f/RHf5QhQ4bkd37nd3LyySenq6srQ4YM+T8ff8qUKbnsssvy93//97ntttty8803p7OzM7t3786FF16Yiy66KOvXr6/r5wxwKGWw7XoAAABMSURBVGgYePO/rwFQicWLF+cb3/hG7rnnnqqnABzWXPYAAEAxnPkFAKAYzvwCAFAM8QsAQDHELwAAxRC/AAAUQ/wCAFAM8QsAQDH+H0z+Hn4yBMAdAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 842.4x595.44 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.boxplot(x=\"quarter\", y=\"bWendu\", data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
